package scala.day01

object Demo02Base {
  /**
    * 语法基础
    * @param args
    */
  def main(args: Array[String]): Unit = {
    //变量
    // 类型推断，自动根据等号右边推断变量的类型
    var s = "1";
    //手动增加类型
    var i:Int = 1;

    /**
      * var:变量可以指向其他的对象
      * val：常量，不能在指向其他的对象
      * 尽量使用val
      */
    var j = 1;
    j = 100;
    val k = "avcd"
    //k = 2
    /**
      * 字符串
      * scala中的字符串和Java中的字符串是一样的
      */
   val str: String = "scala"
    str.split(",")
    str.substring(2)

    /**
      * 基本数据类型和Java中也是一样的
      */
    val ii: Int = 100

    /**
      * scala类型转换
      *
      */
    val str1: String = "100"
    //java的方式
    Integer.parseInt(str1)

    /**
      * scala中进行类型转化
      * 可以直接使用to
      * scala 的类型转化方式是对java中的方式进行了封装
      * toInt 是scala语言通过隐式转化动态增加的
      */
    val int: Int = str1.toInt
    val string: String = int.toString

    /**
      * if语句
      */
    val age: Int = 23
    if(age>18){
      println("成年")
    }else{
      println("未成年")
    }

    /**
      * scala中的数组相当于Java中的数组
      */
    val ints: Array[Int] = Array(1,2,3,4,5,6,7,7)//注意scala中的括号

    /**
      * 循环：
      * 没有这中循环：
      * for(int i=0;i<n;i++){
      * }
      */
    for (elem <- ints) {
      println(elem)
    }

    /**
      * 通过下标循环
      */
    var l = 0
    while(l < ints.length){
      //通过小括号取数
      println(ints(l))
      l += 1;
    }
  }
}
